package stu.tnt.gdx.assets;
import stu.tnt.gdx.widget.StyleAtlas;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.assets.AssetDescriptor;
import com.badlogic.gdx.assets.AssetLoaderParameters;
import com.badlogic.gdx.assets.AssetManager;
import com.badlogic.gdx.assets.loaders.AsynchronousAssetLoader;
import com.badlogic.gdx.assets.loaders.FileHandleResolver;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
import com.badlogic.gdx.utils.Array;
public class StyleLoader extends
AsynchronousAssetLoader<StyleAtlas, StyleLoader.StyleParameter> {
public StyleLoader(FileHandleResolver resolver) {
super(resolver);
}
@Override
public void loadAsync(AssetManager manager, String fileName,
FileHandle file, StyleParameter parameter) {
}
@Override
public StyleAtlas loadSync(AssetManager manager, String fileName,
FileHandle file, StyleParameter parameter) {
String textureAtlasPath;
if (parameter == null)
textureAtlasPath = Gdx.files.internal(fileName)
.pathWithoutExtension() + ".atlas";
else
textureAtlasPath = parameter.textureAtlasPath;
TextureAtlas atlas = manager.get(textureAtlasPath, TextureAtlas.class);
return new StyleAtlas(resolve(fileName), atlas);
}
@Override
public Array<AssetDescriptor> getDependencies(String fileName,
FileHandle file, StyleParameter parameter) {
Array<AssetDescriptor> deps = new Array();
if (parameter == null)
deps.add(new AssetDescriptor(resolve(fileName)
.pathWithoutExtension() + ".atlas", TextureAtlas.class));
else
deps.add(new AssetDescriptor(parameter.textureAtlasPath,
TextureAtlas.class));
return deps;
}
/**
*
* @author trungnt13
*/
public static class StyleParameter extends
AssetLoaderParameters<StyleAtlas> {
public final String textureAtlasPath;
public StyleParameter(String textureAtlasPath) {
this.textureAtlasPath = textureAtlasPath;
}
}
}